This is a memo for
micrOMEGAs. The latest version seems uploaded here.
./newProject abeModelThis creates a directory whose name is abeModel. Then go to ./abeModel/work/and launch calchep and install your model. Note that your Z2 odd particles should be named as ~x, ~y, ~z,and so on.
gmake main.c (or make main.c)Then it generates main execute file, main*. You can start calculation by ./main data.parThen you will find the result.
If you make main_abe.c and do make main_abe.c, you will find main_abe*.
Option in "main.c":
Its format is
mh 125 # mass of SM higgs lam 0.4 # couplingand so on. The parameters should be defined in your calchep model file. You can skip comments which start from #.
You can read the value of the variables in your model files by using findValW(name). For example, printf("hogehoge=%.2e",findValW("MZ"));returns 91.1876. You can not get all the values as a default. If you want to get all the values which defined in func1.mdl, then you should add %Local! in the last line in func1.mdl file.
You can read the width and branching ratio by specifying the PDG number of the particle. For example, go to #ifdef DECAYS in your main.c file, and pname=pdg2name(990012); if(pname) { width=pWidth(pname,&LZ); printf("\n %s : total width=%E \n and Branchings:\n",pname,width); printTxtList(LZ,stdout); printf("%s : Br=%E \n",pname,findBr(LZ,"Z,~DM1")); } else printf("Z particle is detected in the model\n");This returns ~DM2 : total width=2.126913E-01 and Branchings: 9.976916E-01 ~DM2 -> Z,~DM1 2.308332E-03 ~DM2 -> H,~DM1 ~DM2 : Br=9.976916E-01990012 is the PDG code of ~DM2 defined in the model file.
You can change model parameters as assignVal("vs",1000.0); sortOddParticles(cdmName);where vs is a model parameter. Note that we need "sortOddParticles(cdmName);" to make micrOMGEAs recognizes we set new parameters.
"darkOmegaN" can be used when you consider co-scattering, decay, or more than two thermal baths. It shows a lot of message on the screen. If you would like to suppress it, do ./main data.par >/dev/null">/dev/null" supresses the message. If you would like to show something, such as Omegah2 you obtained, on the screen, you can use "fprintf" like fprintf(stderr, "Omegah2=%.4E, darkOmegaN(fast,Beps,&err) );and use ">/dev/null". Do not use "&>/dev/null", which does not show anything on the screen.
You can calculate cross section at the LHC/Tevatron by hCollider . Go to #ifdef CROSS_SECTIONS in your main.c file, and write, for example, #ifdef CROSS_SECTIONS { printf( "%.3E \n", hCollider(4000.0, 1, 1,"~DM2","~ch-")); }This returns the cross section of pp to ~DM2 ~ch- at 8TeV in pp collider. If you want to calculate cross section ([pb]) at p p-bar collider, change the second argument from 1 to, say, -1. PDF is CTEQ6L. The third argument set the QCD scale. I do not know details. But if you set it 0, then the largest mass of outgoing particles is used to set the QCD scale. go to index |